package com.lich.util;

import java.net.URL;

import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;

public class LocationUtil {

	private static  String getAddress(String log, String lat) {
		// lat 小 log 大
		// 参数解释: 纬度,经度 type 001 (100代表道路，010代表POI，001代表门址，111可以同时显示前三项)
		String urlString = "http://gc.ditu.aliyun.com/regeocoding?l=" + lat + "," + log + "&type=010";
		String res = "";
		try {
			URL url = new URL(urlString);
			java.net.HttpURLConnection conn = (java.net.HttpURLConnection) url.openConnection();
			conn.setDoOutput(true);
			conn.setRequestMethod("POST");
			java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream(), "UTF-8"));
			String line;
			while ((line = in.readLine()) != null) {
				res += line + "\n";
			}
			in.close();
		} catch (Exception e) {
			System.err.println("error in wapaction,and e is " + e.getMessage());
			return res;
		}
		return res;
	}

	public static String getCityName(String logAndLat) {
		try {
			String[] loAndLa = logAndLat.split("::");
			String address = getAddress(loAndLa[0], loAndLa[1]);
			System.err.println("打印出的地址======="+address);
			JSONObject jsonObject = JSONObject.fromObject(address);
			JSONArray jsonArray = JSONArray.fromObject(jsonObject.getString("addrList"));
			JSONObject j_2 = JSONObject.fromObject(jsonArray.get(0));
			String allAdd = j_2.getString("admName");
			String[] arr = allAdd.split(",");
			
			if (arr != null && arr.length > 1) {
				return arr[1];
			} else {
				return null;
			}
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

}
